package com.xunchi.haichuan.audit.service;

import java.util.Locale;

import com.xunchi.haichuan.user.model.User;

/**
 * 作者：kongxb<br>
 * 模块名称：审计模块<br>
 * 功能描述：审计日志服务接口<br>
 * 维护记录：2009.11.27, kongxb 创建该接口
 */
public interface LogService {

	/**
	 * 记录日志
	 * 
	 * @param user
	 * @param operateStat
	 * @param descript
	 * @param ipAddress
	 * @param locale
	 * @throws Exception
	 */
	public void login(User user, int operateStat, String descript, String ipAddress, Locale locale) throws Exception;

	/**
	 * 记录日志
	 * 
	 * @param user
	 * @param operateStat
	 * @param descript
	 * @param ipAddress
	 * @param locale
	 * @throws Exception
	 */
	public void logout(User user, int operateStat, String descript, String ipAddress, Locale locale) throws Exception;

	/**
	 * 记录日志
	 * 
	 * @param actionId
	 * @param user
	 * @param operateStat
	 * @throws Exception
	 */
	public void log(String actionId, User user, int operateStat) throws Exception;

	/**
	 * 记录日志
	 * 
	 * @param actionId
	 * @param user
	 * @param operateStat
	 * @param descript
	 * @throws Exception
	 */
	public void log(String actionId, User user, int operateStat, String descript) throws Exception;

	/**
	 * 记录日志
	 * 
	 * @param actionId
	 * @param user
	 * @param operateObject
	 * @param operateObjectName
	 * @param operateStat
	 * @throws Exception
	 */
	public void log(String actionId, User user, String operateObject, String operateObjectName, int operateStat)
			throws Exception;

	/**
	 * 记录日志
	 * 
	 * @param actionId
	 * @param user
	 * @param operateObject
	 * @param operateObjectName
	 * @param operateStat
	 * @param descript
	 * @throws Exception
	 */
	public void log(String actionId, User user, String operateObject, String operateObjectName, int operateStat,
			String descript) throws Exception;

	/**
	 * 记录日志
	 * 
	 * @param actionId
	 * @param user
	 * @param operateObject
	 * @param operateObjectName
	 * @param operateStat
	 * @param descript
	 * @param ipAddress
	 * @throws Exception
	 */
	public void log(String actionId, User user, String operateObject, String operateObjectName, int operateStat,
			String descript, String ipAddress) throws Exception;

	/**
	 * 记录日志
	 * 
	 * @param actionId
	 * @param operatorId
	 * @param operatorName
	 * @param operatorLoginName
	 * @param operatorType
	 * @param operateObject
	 * @param operateObjectName
	 * @param operateStat
	 * @param descript
	 * @param ipAddress
	 * @throws Exception
	 */
	public void log(String actionId, String operatorId, String operatorName, String operatorLoginName,
			int operatorType, String operateObject, String operateObjectName, int operateStat, String descript,
			String ipAddress) throws Exception;

}
